#include <iostream>
using namespace std;
#include <unistd.h>
#include <pthread.h>

void printer(const char *str)
{
    while (*str != '\0')
    {
        putchar(*str);
        fflush(stdout);
        str++;

        /* 回去工作/离开打印机/ 让出CPU */
        sleep(1);
    }
    printf("\n");
}

void *thread_func1(void *arg)
{
    const char *str = "hello";
    printer(str);

    /* 线程退出 */
    pthread_exit(NULL);
}

void *thread_func2(void *arg)
{
    const char *str = "world";
    printer(str);

    /* 线程退出 */
    pthread_exit(NULL);
}

int main()
{
    /* 创建线程 */
    pthread_t tid;
    pthread_create(&tid, NULL, thread_func1, NULL);

    pthread_t tid2;
    pthread_create(&tid2, NULL, thread_func2, NULL);

    while (1)
    {
        sleep(1);
    }

    return 0;
}